﻿using System;
using System.Collections.Generic;
using System.Text;
using AMS.DataAccess.Sys.BO;
using AMS.DataAccess.Common;

namespace AMS.DataAccess.Sys.Interfaces
{
    public interface IRoleManager
    {
        List<RoleInfo> GetAllRoles(CallContext context);
        void AddRole(CallContext context, RoleInfo role);
        bool DeleteRole(CallContext context, int roleId);
        List<FunctionInfo> GetPrivilagesByModule(CallContext context, int roleId, int moduleId);
        List<FunctionInfo> GetPrivilages(CallContext context, int roleId);
        int BatchUpdatePrivilage(CallContext context, int roleId, List<int> addedFunctions, List<int> deletedFunctions);
        int BatchUpdateRoleUsers(CallContext context, int roleId, List<int> addedUsers, List<int> deletedUsers);
        int BatchAddRoleUsers(CallContext context, int roleId, List<int> addedUser);
        int BatchDeleteRoleUsers(CallContext context, int roleId, List<int> deletedUsers);
    }
}
